// 支付状态枚举
export enum PayStatus {
    UNPAID = 0,    // 待支付
    PAYING = 1,    // 支付中
    PAID = 2,      // 支付成功
    FAILED = 3     // 支付失败
}

// 支付方式枚举
export enum PayMethod {
    WECHAT = 1,    // 微信支付
    BALANCE = 2,   // 余额支付
    POINTS = 3,    // 积分支付
    ALIPAY = 4     // 支付宝支付
}

// 支付记录接口
export interface PaymentRecord {
    id: number;
    payNo: string;         // 支付单号
    userId: number;        // 用户ID
    orderId: number;       // 订单ID
    orderNo: string;       // 订单编号
    paymentType: PayMethod;// 支付方式
    paymentAmount: number; // 支付金额
    tradeNo?: string;      // 第三方交易号
    status: PayStatus;     // 支付状态
    payTime?: string;      // 支付时间
    expireTime?: string;   // 过期时间
    successTime?: string;  // 成功时间
}

// 微信支付请求参数
export interface WxPayParams {
    orderNo: string;       // 订单号
    userId: number;        // 用户ID
    orderId?: number;      // 订单ID
    paymentType: PayMethod;// 支付方式
    paymentAmount: number; // 支付金额
    payNo?: string;        // 支付单号
    status?: PayStatus;    // 支付状态
    type: string;          // 类型
}

// 支付宝支付请求参数
export interface AliPayParams {
    orderNo: string;       // 订单号
    payMethod: string;     // 支付方式
    amount: number;        // 支付金额
    userId: number;        // 用户ID
    orderId?: number;      // 订单ID
    type: string;          // 类型
}

// 退款请求参数
export interface RefundParams {
    orderNo: string;       // 订单号
    reason: string;        // 退款原因
}

// 支付结果响应
export interface PayResult {
    code: number;          // 响应码
    message: string;       // 响应消息
    data: {
        payNo?: string;    // 支付单号
        status?: PayStatus;// 支付状态
        timeStamp?: string;// 时间戳（微信支付）
        nonceStr?: string; // 随机字符串（微信支付）
        package?: string;  // 订单详情扩展字符串（微信支付）
        signType?: string; // 签名方式（微信支付）
        paySign?: string;  // 签名（微信支付）
        qrCode?: string;   // 二维码（支付宝支付）
    };
} 